home *** CD-ROM | disk | FTP | other *** search
/ Atari Forever 4 / Atari Forever 4.zip / Atari Forever 4.iso / PD_THEMA / EDITOREN / 7UP_PD / MEVENT.C < prev    next >
C/C++ Source or Header  |  1998-03-14  |  2KB  |  74 lines

  1. /***************************************************************************
  2. *
  3. *                                 mevent.c                          05.09.89
  4. *
  5. *                   Neues evnt_multi() nach XGEM-Manier
  6. *
  7. ***************************************************************************/
  8. #include <portab.h>
  9. #include <stdio.h>
  10. #include <aes.h>
  11. #include <tos.h>
  12.  
  13. #include "macro.h"
  14.  
  15. extern TMACRO macro;
  16.  
  17. static AESPB aespb=
  18. {
  19.    _GemParBlk.contrl,
  20.    _GemParBlk.global,
  21.    _GemParBlk.intin,
  22.    _GemParBlk.intout,
  23.    _GemParBlk.addrin,
  24.    _GemParBlk.addrout
  25. };
  26.  
  27. int evnt_event(MEVENT *mevent)
  28. {
  29.     if(macro.play)
  30.     {
  31.        memcpy(_GemParBlk.intin,mevent,14*sizeof(int));
  32.        _GemParBlk.addrin[0]=mevent->e_mepbuf;
  33.        
  34.        _GemParBlk.intin[14]=0;
  35.        _GemParBlk.intin[15]=0;
  36.     
  37.        _GemParBlk.contrl[0]=25;
  38.        _GemParBlk.contrl[1]=16;
  39.        _GemParBlk.contrl[2]=7;
  40.        _GemParBlk.contrl[3]=1;
  41.        _crystal(&aespb);
  42.     
  43.        memcpy(&mevent->e_mx,&_GemParBlk.intout[1],6*sizeof(int));
  44.  
  45.        play_macro(&mevent->e_ks,&mevent->e_kr);
  46.  
  47.        return((_GemParBlk.intout[0]|MU_KEYBD) & ~(MU_TIMER|MU_BUTTON|MU_M1));
  48.     }
  49.     else
  50.     {
  51.        memcpy(_GemParBlk.intin,mevent,14*sizeof(int));   
  52.        _GemParBlk.addrin[0]=mevent->e_mepbuf;
  53.        
  54.        _GemParBlk.intin[14]=(int)mevent->e_time & 0xffff;
  55.        _GemParBlk.intin[15]=(int)mevent->e_time >> 16;
  56.     
  57.        _GemParBlk.contrl[0]=25;   
  58.        _GemParBlk.contrl[1]=16;   
  59.        _GemParBlk.contrl[2]=7;   
  60.        _GemParBlk.contrl[3]=1;   
  61.        _crystal(&aespb);
  62.     
  63.        memcpy(&mevent->e_mx,&_GemParBlk.intout[1],6*sizeof(int));
  64. /*
  65.        mevent->e_ks=(int)Kbshift(-1);
  66. */
  67.        if(_GemParBlk.intout[0] & MU_KEYBD)
  68.        {
  69.           _GemParBlk.intout[0] = record_macro(0,mevent->e_ks,mevent->e_kr);
  70.         }
  71.        return(_GemParBlk.intout[0]);
  72.    }
  73. }
  74.